class ManageEmailController < ApplicationController
  layout 'main'
  after_filter :post_log
  
  def index
#    flash[:notice] = ""
  end

  def destroy_outstanding_emails
    Mail.unsent.destroy_all
    redirect_to :action => "index"
  end

  def set_new_system_email
    @old_system_email = DlearnUtility.get_system_email
  end
  
  def assign_system_email
    DlearnUtility.set_system_email(params[:mail][:system_email])
    flash[:notice] = 'บันทึกอีเมล์ระบบใหม่เป็นที่เรียบร้อยแล้ว'
    redirect_to :action => 'index'
  end
  
  def set_topic_email
    @old_topic_subject = DlearnUtility.get_topic_subject
    @old_topic_body = DlearnUtility.get_topic_body
  end
  
  def assign_topic_email
    DlearnUtility.set_topic_subject(params[:mail][:topic_subject])
    DlearnUtility.set_topic_body(params[:mail][:topic_body])
    flash[:notice] = 'บันทึกข้อความอีเมล์แจ้งเตือนกระทู้ใหม่เป็นที่เรียบร้อยแล้ว'
    redirect_to :action => :index
  end
  
  def set_answer_email
    @old_answer_subject = DlearnUtility.get_answer_subject
    @old_answer_body = DlearnUtility.get_answer_body
  end
  
  def assign_answer_email
    DlearnUtility.set_answer_subject(params[:mail][:answer_subject])
    DlearnUtility.set_answer_body(params[:mail][:answer_body])
    flash[:notice] = 'บันทึกข้อความอีเมล์แจ้งเตือนกระทู้ใหม่เป็นที่เรียบร้อยแล้ว'
    redirect_to :action => :index
  end
  
  def set_register_email
    @old_register_subject = DlearnUtility.get_register_subject
    @old_register_body = DlearnUtility.get_register_body
  end
  
  def assign_register_email
    DlearnUtility.set_register_subject(params[:mail][:register_subject])
    DlearnUtility.set_register_body(params[:mail][:register_body])
    flash[:notice] = 'บันทึกข้อความอีเมล์แจ้งการสมัครสมาชิกใหม่เป็นที่เรียบร้อยแล้ว'
    redirect_to :action => :index
  end
  
  def send_email_to_group_by_course
    @courses = Course.find(:all)
  end
  
  include ActionView::Helpers::DebugHelper
  include ERB::Util

  def send_mail_to_group_by_course
    if params[:mail][:attachment]
      @link= "public/attachments/"+params[:mail][:attachment].original_filename
      FileUtils.cp params[:mail][:attachment].path, @link
    end
    begin
      if params[:mail][:course].include?("0")
        all_emails_array= User.all.collect {|u| u.email}
      else
        course_ids = params[:mail][:course]
        all_emails_array = []
        if params[:mail][:course]==0
          render :text => "text to render..."
        else
          course_ids.each do |course_id|
            email_lists_in_course = DlearnUtility.get_course_email(course_id)
            all_emails_array.push(email_lists_in_course) if !email_lists_in_course.empty?
          end
        end
      end
      all_emails = all_emails_array.join(",")
      @message = params[:mail][:subject], params[:mail][:body]
      mail_body = render_to_string :action => "send_mail_to_group_by_course", :template => "notifier/group_by_course_send", :layout => false
      Mail.sendmail("dlocopm@hotmail.com", all_emails, params[:mail][:subject], mail_body)
      flash[:notice] = 'ได้ส่งเมล์ให้กลุ่มตามหลักสูตรที่ได้เลือกไว้เป็นที่เรียบร้อยแล้ว'
    rescue
      flash[:notice] = 'ไม่สามารถส่งเมล์ได้ กรุณาเลือกกลุ่มที่มีผู้ใช้'
    end
    redirect_to :action => :index
  end
  
  def set_forgot_password_email_result
    flash[:notice] = params[:msg]
  end
  def set_register_email_result
    flash[:notice] = params[:msg]
  end
  def set_register_email
    @old_register_subject = TcidUtility.get_register_subject
    @old_register_body = TcidUtility.get_register_body
    flash[:notice] = ""
  end
  def assign_register_email
    TcidUtility.set_register_subject(params[:mail][:register_subject])
    TcidUtility.set_register_body(params[:mail][:register_body])
    msg = 'บันทึกข้อความอีเมล์แจ้งการสมัครสมาชิกใหม่เป็นที่เรียบร้อยแล้ว'
    flash[:notice] = msg
    redirect_to :action=>:index
  end
  def set_forgot_password_email
    @old_subject = TcidUtility.get_forgot_password_subject
    @old_body = TcidUtility.get_forgot_password_body
    render :layout=>session[:theme]
  end
  def assign_forgot_password_email
    TcidUtility.set_forgot_password_subject(params[:mail][:subject])
    TcidUtility.set_forgot_password_body(params[:mail][:body])
    msg = 'กำหนดข้อความอีเมล์ตอบการลืมรหัสผ่านเป็นที่เรียบร้อยแล้ว'
    flash[:notice] = msg
    redirect_to :action=>:index
  end
end
